t=int(input())
from collections import Counter
while t:
n=int(input())
li=list(map(int,input().strip().split()))
ans=0
for i in range(n):
if li[i]==0:
ans=1
li[i]=abs(li[i])
di=Counter(li)
for i in set(li):
if i==0:
continue
if di[i]>2:
ans+=2
else:
ans+=di[i]
print(ans)
t-=1
#include <cstdio>
#include <set>
int main(){
long t; scanf("%ld", &t);
while(t--){
long n; scanf("%ld", &n);
std::set<long> s;
for(long p = 0; p < n; p++){
long x; scanf("%ld", &x);
if(s.count(x))
{s.insert(-x);}
else{s.insert(x);}
}
printf("%ld\n", s.size());
}
}
1614B - Divan and a New Project | 791A - Bear and Big Brother |
1452A - Robot Program | 344A - Magnets |
96A - Football | 702B - Powers of Two |
1036A - Function Height | 443A - Anton and Letters |
1478B - Nezzar and Lucky Number | 228A - Is your horseshoe on the other hoof |
122A - Lucky Division | 1611C - Polycarp Recovers the Permutation |
432A - Choosing Teams | 758A - Holiday Of Equality |
1650C - Weight of the System of Nested Segments | 1097A - Gennady and a Card Game |
248A - Cupboards | 1641A - Great Sequence |
1537A - Arithmetic Array | 1370A - Maximum GCD |
149A - Business trip | 34A - Reconnaissance 2 |
59A - Word | 462B - Appleman and Card Game |
1560C - Infinity Table | 1605C - Dominant Character |
1399A - Remove Smallest | 208A - Dubstep |
1581A - CQXYM Count Permutations | 337A - Puzzles |